package com.fr.schedule.dao;

import com.fr.data.core.db.dialect.Dialect;
import com.fr.data.core.db.dml.CreateTable;
import com.fr.data.core.db.dml.Table;

public abstract class ScheduleCreateTableUtils
{
  public static CreateTable createFolderEntryTable(Dialect paramDialect)
  {
    Table localTable = new Table("fr_folderentry");
    CreateTable localCreateTable = new CreateTable(localTable, paramDialect);
    localCreateTable.addColumn("id", 4, 20, Boolean.TRUE, null, Boolean.TRUE, Boolean.TRUE);
    localCreateTable.addColumn("parent", 4, 20);
    localCreateTable.addColumn("name", 12, 255);
    localCreateTable.addColumn("description", 12, 255);
    localCreateTable.addColumn("uri", 12, 255);
    return localCreateTable;
  }

  public static CreateTable createFileEntryTable(Dialect paramDialect)
  {
    Table localTable = new Table("fr_fileentry");
    CreateTable localCreateTable = new CreateTable(localTable, paramDialect);
    localCreateTable.addColumn("id", 4, 20, Boolean.TRUE, null, Boolean.TRUE, Boolean.TRUE);
    localCreateTable.addColumn("name", 12, 255);
    localCreateTable.addColumn("description", 12, 255);
    localCreateTable.addColumn("parent", 4, 20);
    localCreateTable.addColumn("uri", 12, 255);
    return localCreateTable;
  }

  public static CreateTable createReportletEntryTable(Dialect paramDialect)
  {
    Table localTable = new Table("fr_reportletentry");
    CreateTable localCreateTable = new CreateTable(localTable, paramDialect);
    localCreateTable.addColumn("id", 4, 20, Boolean.TRUE, null, Boolean.TRUE, Boolean.TRUE);
    localCreateTable.addColumn("name", 12, 255);
    localCreateTable.addColumn("description", 12, 255);
    localCreateTable.addColumn("parent", 4, 20);
    localCreateTable.addColumn("reportletPath", 12, 255);
    localCreateTable.addColumn("isView", 4, 5);
    localCreateTable.addColumn("uri", 12, 255);
    return localCreateTable;
  }

  public static CreateTable createScheduleTaskTable(Dialect paramDialect)
  {
    Table localTable = new Table("fr_schedule_task");
    CreateTable localCreateTable = new CreateTable(localTable, paramDialect);
    localCreateTable.addColumn("id", 4, 20, Boolean.TRUE, null, Boolean.TRUE, Boolean.TRUE);
    localCreateTable.addColumn("groupId", 4, 20);
    localCreateTable.addColumn("name", 12, 255);
    localCreateTable.addColumn("description", 12, 255);
    localCreateTable.addColumn("itriggerId", 4, 20);
    localCreateTable.addColumn("task_parameters", 12, 2000);
    localCreateTable.addColumn("reportletPath", 12, 255);
    localCreateTable.addColumn("scheduledOupputId", 4, 20);
    return localCreateTable;
  }

  public static CreateTable createScheduledOutputTable(Dialect paramDialect)
  {
    Table localTable = new Table("fr_schedule_output");
    CreateTable localCreateTable = new CreateTable(localTable, paramDialect);
    localCreateTable.addColumn("id", 4, 20, Boolean.TRUE, null, Boolean.TRUE, Boolean.TRUE);
    localCreateTable.addColumn("base_name", 12, 255);
    localCreateTable.addColumn("description", 12, 255);
    localCreateTable.addColumn("folderEntryId", 4, 20);
    localCreateTable.addColumn("format", 4, 10);
    localCreateTable.addColumn("emailId", 4, 20);
    return localCreateTable;
  }

  public static CreateTable createEmailNotificationTable(Dialect paramDialect)
  {
    Table localTable = new Table("fr_schedule_email");
    CreateTable localCreateTable = new CreateTable(localTable, paramDialect);
    localCreateTable.addColumn("id", 4, 20, Boolean.TRUE, null, Boolean.TRUE, Boolean.TRUE);
    localCreateTable.addColumn("toAddress", 12, 255);
    localCreateTable.addColumn("ccAddress", 12, 255);
    localCreateTable.addColumn("bccAddress", 12, 255);
    localCreateTable.addColumn("subject", 12, 255);
    localCreateTable.addColumn("bodyContent", 12, 255);
    return localCreateTable;
  }

  public static CreateTable createOnceITriggerTable(Dialect paramDialect)
  {
    Table localTable = new Table("fr_once_itrigger");
    CreateTable localCreateTable = new CreateTable(localTable, paramDialect);
    localCreateTable.addColumn("id", 4, 20, Boolean.TRUE, null, Boolean.TRUE, Boolean.TRUE);
    localCreateTable.addColumn("timezone_id", 12, 255);
    localCreateTable.addColumn("start_type", 4, 5);
    localCreateTable.addColumn("startTime", 93, 0);
    return localCreateTable;
  }

  public static CreateTable createSimpleITriggerTable(Dialect paramDialect)
  {
    Table localTable = new Table("fr_simple_itrigger");
    CreateTable localCreateTable = new CreateTable(localTable, paramDialect);
    localCreateTable.addColumn("id", 4, 20, Boolean.TRUE, null, Boolean.TRUE, Boolean.TRUE);
    localCreateTable.addColumn("timezone_id", 12, 255);
    localCreateTable.addColumn("start_type", 4, 5);
    localCreateTable.addColumn("startTime", 93, 5);
    localCreateTable.addColumn("repeat_count", 4, 5);
    localCreateTable.addColumn("endTime", 93, 0);
    localCreateTable.addColumn("recurrence_interval", 4, 10);
    localCreateTable.addColumn("recurrence_interval_unit", 4, 10);
    return localCreateTable;
  }

  public static CreateTable createCalendarITriggerTable(Dialect paramDialect)
  {
    Table localTable = new Table("fr_calendar_itrigger");
    CreateTable localCreateTable = new CreateTable(localTable, paramDialect);
    localCreateTable.addColumn("id", 4, 20, Boolean.TRUE, null, Boolean.TRUE, Boolean.TRUE);
    localCreateTable.addColumn("timezone_id", 12, 255);
    localCreateTable.addColumn("start_type", 4, 5);
    localCreateTable.addColumn("startTime", 93, 0);
    localCreateTable.addColumn("endTime", 93, 0);
    localCreateTable.addColumn("minutes", 4, 10);
    localCreateTable.addColumn("hours", 4, 10);
    localCreateTable.addColumn("day_type", 4, 10);
    localCreateTable.addColumn("week_days", 12, 255);
    localCreateTable.addColumn("month_days", 12, 255);
    localCreateTable.addColumn("months", 12, 255);
    return localCreateTable;
  }
}